/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;

import Conceptos.Playa;
import Conceptos.PuntoMuestreo;
import MPersistencia.MPMuestraDensidad;
import MPersistencia.MPPlaya;
import MPersistencia.MPPuntoMuestreo;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

/**
 *
 * @author USUARIO
 */
@ManagedBean(name = "controlPuntoMuestreo")
@RequestScoped
public class controlPuntoMuestreo implements Serializable {

    private static List<PuntoMuestreo> puntosMuestreo;
    private static List<PuntoMuestreo> puntosMuestreopla;
    private static boolean show = false;
    private static boolean mostPanel = false;
    private static String codigo;
    private static String descripcion;
    private static int cplaya;
    private Playa playa;

    public Playa getPlaya() {
        return playa;
    }

    public void setPlaya(Playa playa) {
        this.playa = playa;
    }

    public void registrarPunto() throws SQLException, Exception {
        PuntoMuestreo pm = new PuntoMuestreo();
        pm.setPlaya(playa);
        pm.setDescripcion(descripcion);
        MPPuntoMuestreo.crearPuntoMuestreo(pm);
        listaPuntomuestreoplaya();
        limpiar();
    }

    public void asignarPlaya() throws SQLException, Exception {
        Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        String codPlaya = map.get("codplaya").toString();
        setCplaya(Integer.parseInt(codPlaya));

    }

    public controlPuntoMuestreo() {
        try {
            listaPuntomuestreo();
            playa = controlPlayas.selectedplaya;
        } catch (SQLException ex) {
            Logger.getLogger(controlPuntoMuestreo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(controlPuntoMuestreo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void cerrarSession() {
        List<PuntoMuestreo> puntosMuestreo = null;
        show = false;
        mostPanel = false;
        codigo = null;
        cplaya = 0;
    }

    public static void listaPuntomuestreo() throws SQLException, Exception {
        setPuntosMuestreo(MPPuntoMuestreo.listarPuntoMuestreo());
    }

    public void listaPuntomuestreoplaya() throws SQLException, Exception {
        System.out.println(playa);
        puntosMuestreopla = MPPuntoMuestreo.listarPuntoMuestreoPlaya(controlPlayas.selectedplaya.getCodigo());

    }

    public void visualizar(ActionEvent ev) throws SQLException, Exception {
        setShow(true);
        Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        String codPm = map.get("codigoPm").toString();
        /*  controlMuestraDensidad.ListarMuestrasPuntoMuestreo(codPm);
        controlMuestraDensidad.codigo=Integer.parseInt(codPm);
        controlMuestraResiduo.codpunto=codPm;
        controlMuestraFisicoQuimica.puntomuestreo=codPm;*/


        //System.out.println("punto de muestreo escogido"+codPm);
    }

    public void ocultar(ActionEvent ev) {
        setShow(false);

    }

    public void visualizarPanel() throws SQLException, Exception {
        controlPlayas.listaPlayas();
        setMostPanel(true);
        //System.out.println("punto de muestreo escogido"+codPm);
    }

    public void ocultarPanel() {

        setMostPanel(false);

    }

    public boolean getShow() {
        return show;
    }

    public void setShow(boolean show) {
        this.show = show;
    }

    /**
     * @return the mostPanel
     */
    public boolean getMostPanel() {
        return mostPanel;
    }

    /**
     * @param mostPanel the mostPanel to set
     */
    public void setMostPanel(boolean mostPanel) {
        this.mostPanel = mostPanel;
    }

    /**
     * @return the codigo
     */
    public String getCodigo() {
        codigo = ultimoPuntomuestreo();
        return codigo;
    }

    public String ultimoPuntomuestreo() {
        String codPla = "";
        try {
            codPla = MPPuntoMuestreo.ultimoPunto() + "";
        } catch (SQLException ex) {
            Logger.getLogger(controlPlayas.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(controlPlayas.class.getName()).log(Level.SEVERE, null, ex);
        }
        return codPla;
    }

    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    /**
     * @return the cplaya
     */
    public int getCplaya() {
        return cplaya;
    }

    /**
     * @param cplaya the cplaya to set
     */
    public void setCplaya(int cplaya) {
        this.cplaya = cplaya;
    }

    /**
     * @return the visualizar
     */
    public List<PuntoMuestreo> getPuntosMuestreo() {
        return puntosMuestreo;
    }

    public static void setPuntosMuestreo(List<PuntoMuestreo> aPuntosMuestreo) {
        puntosMuestreo = aPuntosMuestreo;
    }

    public List<PuntoMuestreo> getPuntosMuestreopla() {
        return puntosMuestreopla;
    }

    public static void setuntosMuestreopla(List<PuntoMuestreo> aPuntosMuestreopla) {
        puntosMuestreopla = aPuntosMuestreopla;
    }

    private void limpiar() {
        playa = null;
        descripcion = "";
    }
}